0:00–0:10
Recap
0:10–0:40
Lecture
0:40–1:40
Guided Lab
1:40–1:50
Bonus
1:50–2:00
Debrief
0:00 – 0:10
Recap · 10 min
Day 2 review & the limitation of per-user MFA
- Quick check: "What is the difference between MFA Enabled and MFA Enforced? What happens when a user is Enabled but not yet registered?"
- Ask: "Right now, every Lakeview Logistics user is required to use MFA every time they sign in — even from a trusted corporate device on the office network. Is that the right balance?" — surface the bluntness of per-user MFA
- Ask: "What if a user is signing in from a country Lakeview Logistics doesn't operate in at 3am? Should that be treated the same as a sign-in from the office at 9am?" — prime the conditions concept
- Frame the day: Conditional Access replaces the blunt per-user MFA switch with a policy engine — MFA and other controls applied based on who, what, where, and how risky the sign-in is
0:10 – 0:40
Lecture · 30 min
The Conditional Access policy model — conditions, controls, sessions
Conditional Access is the most powerful identity security tool in M365. It is also the easiest to misconfigure in ways that lock users out or leave gaps. Students need to understand the model deeply before building policies.
- The policy model — If / Then — every CA policy is an If/Then statement: If a sign-in matches these conditions, Then apply these controls. The conditions define who the policy targets and what circumstances trigger it. The controls define what the user must do or what access they get.
- Conditions (the "If"):
| Condition | What it evaluates | Example |
| Users and groups | Who the policy applies to — all users, specific groups, specific roles, or guest users | Apply to LL-AllStaff; exclude Break Glass account |
| Cloud apps | Which apps or services the policy covers | All cloud apps, or just Exchange Online, or just Azure portal |
| Conditions → Sign-in risk | Entra ID's ML-based assessment of whether the sign-in looks suspicious (requires P2) | Apply extra controls if risk is Medium or High |
| Conditions → User risk | Assessment of whether the user account itself may be compromised (requires P2) | Force password change if user risk is High |
| Conditions → Device platforms | OS of the device signing in | Apply different controls to iOS vs Windows |
| Conditions → Locations | Named locations (IP ranges) or countries | Block sign-ins from countries outside Canada |
| Conditions → Client apps | Modern auth clients vs legacy auth (SMTP, POP, IMAP) | Block all legacy authentication |
| Control type | Options | When to use |
| Grant | Require MFA · Require compliant device · Require Entra hybrid join · Require approved app · Block access | Define what must be true for access to be granted |
| Session | Sign-in frequency · Persistent browser session · App-enforced restrictions · Continuous access evaluation | Control how long a session lasts and how it behaves |
- Report-only mode — always start here — every new CA policy should be deployed in Report-only mode first. In this mode the policy evaluates every sign-in and records what it would have done — but takes no action. This lets admins see the impact of a policy before it goes live. Skipping report-only mode and going straight to Enabled is how organisations accidentally lock out their entire user base.
- Policy evaluation order and precedence — multiple CA policies can match a single sign-in. All matching policies are evaluated and their controls are combined. The most restrictive applicable control wins. If any matching policy says Block, the sign-in is blocked regardless of what other policies say. Grant controls are additive — if two policies each require MFA, the user still only gets one MFA prompt.
- Named locations — IP ranges or countries that can be referenced in CA conditions. Define "trusted" locations (the office network, VPN exits) to exclude from MFA requirements, and "untrusted" or "blocked" locations to apply extra controls or deny access entirely.
- The break-glass exclusion — critical — every CA policy must explicitly exclude at least one break-glass Global Admin account. If a misconfigured policy blocks all admin sign-ins and the break-glass account is also excluded, recovery is possible. If the break-glass account is caught by the policy, the tenant may become inaccessible. This is not optional.
- Licence note — Entra ID P1 required — CA policies require Entra ID P1, which is not included in Business Standard. Students will be able to create policies and view the framework, but policies may not evaluate or enforce on Business Standard. Document everything — all policies configured today will be tested and validated when the E5 trial is added in Week 5.
Instructor note: The report-only mode concept is worth spending extra time on. In production environments, CA misconfigurations are one of the most common causes of tenant-wide outages. Students who internalise "report-only first, always" will avoid a lot of pain in their careers. Consider showing the Sign-in logs filtered to report-only results on the projector so they can see what it looks like in practice.
0:40 – 1:40
Guided lab · 60 min
Lab 2-C: Building Conditional Access policies for Lakeview Logistics
Students build four CA policies covering the most important real-world scenarios — MFA for all users, admin protection, legacy auth blocking, and location-based access control. All policies start in Report-only mode. Students then review sign-in logs to observe policy evaluation results.
Licence note: Conditional Access requires Entra ID P1. On Business Standard these policies can be created and will appear in the portal, but they may not evaluate or enforce. Build every policy correctly and document your work — everything configured today will be validated and tested when E5 is added in Week 5. Treat this as designing the security architecture, not yet activating it.
- Step 1 — Create a named location for trusted networks (10 min)
Navigate to entra.microsoft.com → Protection → Conditional Access → Named locations → + IP ranges location.
Create: Name: Lakeview Logistics — Trusted Network
Add the IP range of your lab network (ask your instructor for the public IP, or use whatismyip.com to find it). Check Mark as trusted location. Save.
This location will be used as an exclusion in the MFA policy — users on the trusted network won't be required to MFA on every sign-in.
- Step 2 — Policy 1: Require MFA for all users (15 min)
Navigate to Protection → Conditional Access → Policies → + New policy.
Configure as follows:
| Setting | Value |
| Name | CA001 — Require MFA for all users |
| Users | Include: All users · Exclude: your Global Admin account (break-glass exclusion) |
| Target resources | All cloud apps |
| Conditions → Locations | Exclude: Lakeview Logistics — Trusted Network |
| Grant | Grant access · Require multifactor authentication |
| Policy state | Report-only |
- Step 3 — Policy 2: Protect admin sign-ins (10 min)
Create a second policy with these settings:
| Setting | Value |
| Name | CA002 — Require MFA for admin roles |
| Users | Include: Directory roles → select all roles assigned in Day 1 · Exclude: your Global Admin account |
| Target resources | All cloud apps |
| Conditions → Locations | No location exclusion — admins must MFA regardless of location |
| Grant | Grant access · Require MFA · Require authentication strength: Multifactor authentication |
| Policy state | Report-only |
- Step 4 — Policy 3: Block legacy authentication (10 min)
Create a third policy:
| Setting | Value |
| Name | CA003 — Block legacy authentication |
| Users | Include: All users · Exclude: your Global Admin account |
| Target resources | All cloud apps |
| Conditions → Client apps | Exchange ActiveSync clients: Yes · Other clients: Yes (these are the legacy auth protocols) |
| Grant | Block access |
| Policy state | Report-only |
- Step 5 — Policy 4: Block sign-ins from outside Canada (10 min)
First, create a named location for allowed countries:
Protection → Conditional Access → Named locations → + Countries location
Name: Lakeview Logistics — Allowed Countries. Select: Canada. Save.
Then create the policy:
| Setting | Value |
| Name | CA004 — Block sign-ins from outside Canada |
| Users | Include: All users · Exclude: your Global Admin account |
| Target resources | All cloud apps |
| Conditions → Locations | Include: Any location · Exclude: Lakeview Logistics — Allowed Countries |
| Grant | Block access |
| Policy state | Report-only |
- Step 6 — Review the What If tool and sign-in logs (5 min)
Navigate to Protection → Conditional Access → What If. Set the user to your Global Admin account, the app to Microsoft Admin Portals, and the IP address to your current IP. Run the What If analysis and review which policies would apply and what action they would take.
Then navigate to Protection → Conditional Access → Sign-in logs. Filter for sign-in events from today. Click into any recent event and review the Conditional Access tab — observe the Report-only evaluation results showing what each policy would have done.
Instructor note: Step 6 is the payoff — students see their policies evaluated against real sign-in events in the log. Even in Report-only mode this is visible and instructive. If the portal is showing no results yet due to the licence gate, demo on a pre-configured tenant so students can see what a live evaluation looks like. The What If tool works regardless of licence state and is worth spending extra time on.
1:40 – 1:50
Bonus material · 10 min
⭐ Bonus: Sign-in risk policy & CA policy audit via PowerShell
⭐ Bonus A — Sign-in risk policy (Entra ID P2 preview)
- Navigate to entra.microsoft.com → Protection → Conditional Access → + New policy
- Build a fifth policy: CA005 — Require MFA for risky sign-ins
- Users: All users (exclude Global Admin) · Apps: All cloud apps · Conditions → Sign-in risk: Medium and above · Grant: Require MFA · State: Report-only
- Note whether the Sign-in risk condition is available on Business Standard — document what you see
- In your Lab Journal: explain what a "risky sign-in" is in Entra ID's context, how the risk score is calculated, and why this policy is more intelligent than a blanket MFA requirement. What additional licence would be needed to activate it?
⭐ Bonus B — Export CA policy configuration via PowerShell
- Connect to Microsoft Graph: Connect-MgGraph -Scopes "Policy.Read.All"
- Export all CA policies:
Get-MgIdentityConditionalAccessPolicy | Select-Object DisplayName, State, @{N="Conditions";E={$_.Conditions | ConvertTo-Json -Compress}}, @{N="GrantControls";E={$_.GrantControls | ConvertTo-Json -Compress}} | Format-Table -AutoSize
- Export to JSON for documentation: Get-MgIdentityConditionalAccessPolicy | ConvertTo-Json -Depth 10 | Out-File .\CA_Policies_Export.json
- In your Lab Journal: why is exporting CA policy configuration important from a change management and disaster recovery perspective?
1:50 – 2:00
Debrief · 10 min
Reflection & preview
- Ask: "All four policies are in Report-only mode. What specific thing would you check in the sign-in logs before promoting CA001 to Enabled?" — surface the validation process
- Ask: "CA004 blocks all sign-ins from outside Canada. A Lakeview Logistics employee is travelling to the US for a conference. What happens when they try to sign in, and what do you do?" — surface the operational implications of location-based blocking
- Ask: "Why is excluding the break-glass Global Admin account from every CA policy non-negotiable?" — reinforce the recovery account concept
- Collect exit ticket: explain what report-only mode is, why it exists, and what evidence you would need to see before enabling CA001 in production
- Preview Day 4: CA policies cover access control for regular sign-ins. Day 4 introduces two more identity tools — SSPR for user self-service and PIM for just-in-time privileged access, the gold standard for admin account protection
Learning outcomes — by end of Day 3, students can…
Explain the CA policy modelDescribe the If/Then structure, conditions, grant controls, and session controls
Build real-world CA policiesCreate MFA enforcement, admin protection, legacy auth blocking, and location-based policies
Use report-only mode correctlyDeploy policies in report-only, explain why it is required, and describe the validation process before enabling
Configure named locationsCreate trusted IP range and allowed country locations for use in CA conditions
Use the What If toolEvaluate which policies would apply to a given sign-in scenario
Read sign-in logsLocate CA evaluation results in the Entra sign-in log for a specific sign-in event
What you need ready
Lab network public IP address
Microsoft Graph PowerShell SDK
Pre-configured demo tenant for sign-in log demo (optional)
Lab 2-C step sheet
Slide deck: CA policy model diagram